package com.xiong.proxy.Interceptor;

import net.sf.cglib.proxy.MethodInterceptor;
import net.sf.cglib.proxy.MethodProxy;

import java.lang.reflect.Method;

public class CustomMethodInterceptor implements MethodInterceptor {


    @Override
    public Object intercept(Object o, Method method, Object[] objects, MethodProxy methodProxy) throws Throwable {
        Object result;

        // 在方法调用前进行一些操作
        System.out.println("调用代理方法前...");

        // 调用目标类的方法
        result = methodProxy.invokeSuper(o, objects);

        // 在方法调用后进行一些操作
        System.out.println("调用代理方法后...");

        return result;
    }

    public CustomMethodInterceptor(){
    }
}
